ACL---Eliminating Parameter Aliasing with Dynamic Dispatch

نویسندگان

  • Olga Antropova
  • Gary T. Leavens
چکیده

We have implemented a new method for eliminating reference parameter aliases. This method allows procedure calls with overlapping call-by-reference parameters, but at the same time guarantees that procedure bodies are alias-free. The method involves writing multiple bodies for a procedure: one per aliasing combination. Calls are automatically dispatched to the appropriate procedure body based on the particular alias combination among the actual parameters and imported global variables. This makes writing veri able client code simpler, since such code does not need to determine the aliasing combination before the procedure is called. The e ciency of dispatch to these bodies is no worse than hand-coded determination of the aliasing combination would be in other languages. In our experience, the number of necessary procedure bodies is usually small, which makes the approach practical. Forcing programmers to write one body for each aliasing combination also makes them consider each case of aliasing among the parameters and globals, making it more likely that the procedure is correctly implemented. Leavens's work was supported in part by NSF Grants CCR-9593168 and CCR9803843.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Acl | Eliminating Parameter Aliasing with Dynamic Dispatch Acl | Eliminating Parameter Aliasing with Dynamic Dispatch

We have implemented a new method for eliminating reference parameter aliases. This method allows procedure calls with overlapping call-by-reference parameters, but at the same time guarantees that procedure bodies are alias-free. The method involves writing multiple bodies for a procedure: one per aliasing combination. Calls are automatically dispatched to the appropriate procedure body based o...

متن کامل

A Representation-Independent Behavioral Semantics for Object-Oriented Components

Behavioral semantics abstracts from implementation details and allows to describe the behavior of software components in a representation-independent way. In this paper, we develop a formal behavioral semantics for class-based object-oriented languages with aliasing, subclassing, and dynamic dispatch. The code of an object-oriented component consists of a class and the classes used by it. A com...

متن کامل

Data-flow-based Testing of Object-Oriented Libraries

Data-flow-based testing is a well-established approach to program testing. Much object-oriented code is written as libraries; hence data-flow-based testing of object-oriented libraries is of great importance. However, finding def-use relationships in libraries written in object-oriented languages (e.g., Java and C++) is difficult because of unknown aliasing between parameters, unknown concrete ...

متن کامل

Data-flow-based Testing of Object-Oriented Libraries DCS-TR-382

Data-flow-based testing is a well-established approach to program testing. Much object-oriented code is written as libraries; hence data-flow-based testing of object-oriented libraries is of great importance. However, finding def-use associations in libraries written in object-oriented languages (e.g., C++ and Java) is difficult because of unknown aliasing between parameters, unknown concrete t...

متن کامل

Attaining multiple dispatch in widespread object-oriented languages

Multiple dispatch allows determining the actual method to be executed, depending on the dynamic types of its arguments. Although some programming languages provide multiple dispatch, most widespread object-oriented languages lack this feature. Therefore, different implementation techniques are commonly used to obtain multiple dispatch in these languages. We evaluate the existing approaches, pre...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998